package com.endbd.census.user.service.impl;

import com.endbd.census.user.dao.IInStoreDao;
import com.endbd.census.user.dao.IOutStoreDao;
import com.endbd.census.user.model.InStoreCondition;
import com.endbd.census.user.model.InStoreInfo;
import com.endbd.census.user.model.OutStoreCondition;
import com.endbd.census.user.model.OutStoreInfo;
import com.endbd.census.user.service.IInStoreService;
import com.endbd.census.user.service.IOutStoreService;
import com.endbd.census.util.PageModel;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class InStoreService implements IInStoreService {
    @Autowired
    private IInStoreDao inStoreDao;


    @Override
    public PageModel<InStoreInfo> queryInStoreInfoListByCondition(InStoreCondition conn,int pagenum,int pagesize) {
        //开启分页拦截
        PageHelper.startPage(pagenum,pagesize);

        List<InStoreInfo> inStoreInfos = inStoreDao.queryInStoreInfoListByCondition(conn);
        PageInfo<InStoreInfo> pageInfo = new PageInfo<>(inStoreInfos);
        PageModel<InStoreInfo> pageModel = new PageModel<>();

        //包装pageModel
        pageModel.setPageNum(pageInfo.getPageNum());
        pageModel.setPageSize(pageInfo.getPageSize());
        pageModel.setTotalCount((int) pageInfo.getTotal());
        pageModel.setTotalPage(pageInfo.getPages());
        pageModel.setData(inStoreInfos);

        return pageModel;
    }

    @Override
    public PageModel<InStoreInfo> queryInStoreDetailByInStoreId(String id,int pagenum,int pagesize) {
        //开启分页拦截
        PageHelper.startPage(pagenum,pagesize);

        //获得后台数据
        List<InStoreInfo> inStoreInfos = inStoreDao.queryInStoreDetailByInStoreId(id);

        //建一个pageModel对象用来向后台传数据
        PageModel<InStoreInfo> pageModel = new PageModel<>();

        //向pageModel对象中装配页数等分页属性，以及数据
        PageInfo<InStoreInfo> pageInfo = new PageInfo<>(inStoreInfos);
        pageModel.setPageNum(pageInfo.getPageNum());
        pageModel.setPageSize(pageInfo.getPageSize());
        pageModel.setTotalPage(pageInfo.getPages());
        pageModel.setTotalCount((int) pageInfo.getTotal());
        pageModel.setData(inStoreInfos);

        return pageModel;
    }
}
